Ho ricevuto una piccola domanda da principiante. Sto cercando di passare una variabile dalla mia vista al mio controller. C'è comunque il mio metodo nel mio controller in grado di ricevere variabili dal mio punto di vista?Passare i parametri dalla vista al controller
Post view: show.html.erb:
....
<%=link_to "Add relationship", :method => :add_relationship(@rela) %>
Controller: post.controller.rb:
def add_relationship(rela)
@post = Post.find(params[:id])
if current_user.id == @post.user_id
@post.rel_current_id = rela.id
@post.save
redirect_to relationships_url
else
redirect_to posts_url, :notice => "FY!"
end
end
Grazie in anticipo :)
si potrebbe usare l'hash 'params' ... – Jon
dipende il tipo di variabile. non puoi passare oggetti al controller. puoi passare semplici param che lo definiscono in un tag nascosto – adcosta
In realtà voglio solo cambiare un id nel mio modello con l'id corrente di quella pagina. La mia pagina ha un ID, ecco perché sto cercando di passare in quel modello. Se voglio passare un parametro dalla mia pagina e salvarlo nel mio modello di post (con il mio post controller). Come potrei farlo? Qualcosa come "clicca questo link" e questo cambierà l'id. <% = link_to "Change id",: method => add_relationship, params [: rel_current_id = @ rela.id] – OXp1845