我有一些使用以下操作的ajax。
def game_type
if params[:game_type] == "team"
@game_for = "Team"
@match_partial = "team_match_fields.html.erb"
else
@game_for = "Player"
@match_partial = "player_match_fields.html.erb"
end
respond_to do |format|
format.js { @game_for }
end
end
如果我在respond_to
块中只使用一个变量,那么一切都很好,但我希望能够将@game_for
和@match_partial
都传递给我的js文件。我怎样才能做到这一点?我没有找到使用respond_to
语法的良好解释。
答案 0 :(得分:3)
默认情况下,模板中提供了所有实例变量。无需明确传递。
只需使用以下代码,您就可以在js模板中同时访问@game_for
和@match_partial
。
def game_type
if params[:game_type] == "team"
@game_for = "Team"
@match_partial = "team_match_fields.html.erb"
else
@game_for = "Player"
@match_partial = "player_match_fields.html.erb"
end
respond_to do |format|
format.js
end
end
答案 1 :(得分:1)
您不必将任何变量传递给format.js块。无论满足哪个条件,都会设置这些特定变量,并且可以在.js.erb文件中访问
只提及format.js
就是它