【问题标题】:Trigger modal from Controller with ruby condition使用红宝石条件从控制器触发模态
【发布时间】:2023-03-15 13:13:01
【问题描述】:

我想触发一个模式来响应来自我的控制器的 if/else 语句。 我们在 Forecasts_controller.rb 中

if @forecasts.count < 50 
 ...
else
 respond_to do |format|
  format.html {render html: "<div>My text </div>"}
 end
end

但是,我有一个弹出的错误

ActionController::UnknownFormat (ActionController::UnknownFormat):

如果用户预测了 50 场或更多场比赛,我的目标是向用户显示模式。 提前致谢。

【问题讨论】:

  • 你能告诉我 Rails 服务器控制台输出吗?似乎视图要求其他格式和控制器提供不同的格式。
  • 你好,我已经试过了,但是不行
  • 这正是我的控制台向我展示的,仅此而已

标签: ruby ruby-on-rails-5 modalviewcontroller


【解决方案1】:

在您的控制器 respond_to 块中,您可以使用:

render :text => @model_object.html_content

或:

render :inline => "<%= @model_object.html_content %>"

所以,类似:

if @forecasts.count < 50 
 ...
else
 respond_to do |format|
  format.html {render :inline => "<div>My text </div>"}
 end
end

会起作用的。

【讨论】:

  • @gclement - 你能给我你的代码的 github URL 吗?如果可能的话?
  • @gclement - 似乎你是控制器中的请求期待 JSON 响应,但控制器给出的是 HTML 响应而不是 JSON 响应。
  • 你的意思是因为第 60 行?
  • 不。由于这个 -> format.html {render :inline => "
    My text
    "}
  • @gclement - 你可以参考这个以获得更多信息 - guides.rubyonrails.org/layouts_and_rendering.html
猜你喜欢
  • 1970-01-01
  • 2021-06-22
  • 2011-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-02
  • 2010-12-02
  • 1970-01-01
相关资源
最近更新 更多